Java Technologies Pattern Matching Example: Text থেকে Specific Pattern Matching গাইড ও নোট

403

Java-তে Pattern Matching হল একটি শক্তিশালী ফিচার যা আপনাকে টেক্সটের মধ্যে নির্দিষ্ট প্যাটার্ন খুঁজে বের করতে সহায়তা করে। এই ফিচারটি java.util.regex প্যাকেজের মাধ্যমে বাস্তবায়িত করা হয়। প্যাটার্ন মেচিং সাধারনত Pattern এবং Matcher ক্লাস দিয়ে সম্পাদিত হয়।

নিচে Pattern Matching এর একটি সাধারণ উদাহরণ দেওয়া হলো, যা টেক্সটের মধ্যে নির্দিষ্ট প্যাটার্ন যেমন ইমেইল ঠিকানা, ফোন নম্বর, বা কোনও বিশেষ শব্দ খুঁজে বের করবে।

১. Java Pattern Matching উদাহরণ - ইমেইল ঠিকানা খোঁজা

এই উদাহরণে আমরা একটি টেক্সট স্ট্রিংয়ের মধ্যে সঠিক ফরম্যাটে ইমেইল ঠিকানা খুঁজে বের করব।

import java.util.regex.*;

public class PatternMatchingExample {
    public static void main(String[] args) {
        // প্যাটার্ন তৈরির জন্য ইমেইল রেগুলার এক্সপ্রেশন
        String emailPattern = "^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7}$";
        
        // টেক্সট যেখানে আমরা প্যাটার্ন মেলাবো
        String text = "My email is john.doe@example.com, and my secondary email is jane.smith@anothermail.org.";
        
        // প্যাটার্ন কম্পাইল করা
        Pattern pattern = Pattern.compile(emailPattern);
        
        // Matcher তৈরি
        Matcher matcher = pattern.matcher(text);
        
        // প্যাটার্ন মেলে কি না চেক করা
        while (matcher.find()) {
            System.out.println("Found email: " + matcher.group());
        }
    }
}

ব্যাখ্যা:

  1. Pattern: রেগুলার এক্সপ্রেশন (regular expression) ব্যবহার করে একটি প্যাটার্ন তৈরি করা হয়, যা ইমেইল ঠিকানাকে ম্যাচ করবে।
  2. Matcher: matcher() মেথড ব্যবহার করে, আমরা টেক্সটের সাথে প্যাটার্নের মিল খুঁজে বের করি।
  3. matcher.find(): এটি প্যাটার্নের প্রথম মিল খুঁজে পায় এবং যদি কোনো মিল পাওয়া যায়, তবে তা রিটার্ন করে।
  4. matcher.group(): এটি যে অংশটি ম্যাচ হয়েছে তা ফেরত দেয়, অর্থাৎ ইমেইল ঠিকানাটি।

আউটপুট:

Found email: john.doe@example.com
Found email: jane.smith@anothermail.org

২. Java Pattern Matching উদাহরণ - ফোন নম্বর খোঁজা

এখন, আমরা ফোন নম্বরের প্যাটার্ন মেলানোর জন্য একটি উদাহরণ দেখবো।

import java.util.regex.*;

public class PhonePatternExample {
    public static void main(String[] args) {
        // প্যাটার্ন তৈরির জন্য ফোন নম্বর রেগুলার এক্সপ্রেশন (এটা ভারতীয় নম্বরের জন্য উদাহরণ)
        String phonePattern = "\\d{10}";
        
        // টেক্সট যেখানে আমরা প্যাটার্ন মেলাবো
        String text = "Contact me at 9876543210 or at 1234567890 for more information.";
        
        // প্যাটার্ন কম্পাইল করা
        Pattern pattern = Pattern.compile(phonePattern);
        
        // Matcher তৈরি
        Matcher matcher = pattern.matcher(text);
        
        // প্যাটার্ন মেলে কি না চেক করা
        while (matcher.find()) {
            System.out.println("Found phone number: " + matcher.group());
        }
    }
}

ব্যাখ্যা:

  1. phonePattern: এখানে একটি সাধারণ রেগুলার এক্সপ্রেশন ব্যবহার করা হয়েছে যা ঠিক ১০টি ডিজিটের ফোন নম্বর খুঁজে বের করবে।
  2. matcher.find(): এটি টেক্সটের মধ্যে মিল পাওয়া সমস্ত ফোন নম্বর খুঁজে বের করে।

আউটপুট:

Found phone number: 9876543210
Found phone number: 1234567890

৩. Java Pattern Matching উদাহরণ - শব্দের প্যাটার্ন খোঁজা

এই উদাহরণে আমরা একটি টেক্সট থেকে নির্দিষ্ট একটি শব্দের (যেমন "Java") উপস্থিতি খুঁজে বের করব।

import java.util.regex.*;

public class WordPatternExample {
    public static void main(String[] args) {
        // প্যাটার্ন তৈরির জন্য শব্দ রেগুলার এক্সপ্রেশন
        String wordPattern = "\\bJava\\b"; // \b মানে word boundary, যাতে পুরো শব্দটাই মেলে
        
        // টেক্সট যেখানে আমরা প্যাটার্ন মেলাবো
        String text = "I am learning Java. Java is a powerful programming language.";
        
        // প্যাটার্ন কম্পাইল করা
        Pattern pattern = Pattern.compile(wordPattern);
        
        // Matcher তৈরি
        Matcher matcher = pattern.matcher(text);
        
        // প্যাটার্ন মেলে কি না চেক করা
        while (matcher.find()) {
            System.out.println("Found the word 'Java': " + matcher.group());
        }
    }
}

ব্যাখ্যা:

  1. wordPattern: এটি একটি রেগুলার এক্সপ্রেশন যা "Java" শব্দটিকে খুঁজে বের করবে। \b ব্যবহার করা হয়েছে যাতে শব্দের সীমা চিহ্নিত হয়, এবং পুরো শব্দটি মেলে।
  2. matcher.find(): এটি টেক্সটের মধ্যে "Java" শব্দটির উপস্থিতি খুঁজে বের করবে।

আউটপুট:

Found the word 'Java': Java
Found the word 'Java': Java

৪. Java Pattern Matching উদাহরণ - তারিখের প্যাটার্ন খোঁজা

এখানে আমরা একটি তারিখের ফরম্যাট যেমন "dd-MM-yyyy" খুঁজে বের করার উদাহরণ দেখব।

import java.util.regex.*;

public class DatePatternExample {
    public static void main(String[] args) {
        // প্যাটার্ন তৈরির জন্য তারিখ রেগুলার এক্সপ্রেশন (dd-MM-yyyy)
        String datePattern = "\\b\\d{2}-\\d{2}-\\d{4}\\b";
        
        // টেক্সট যেখানে আমরা প্যাটার্ন মেলাবো
        String text = "Today's date is 23-12-2024, and tomorrow will be 24-12-2024.";
        
        // প্যাটার্ন কম্পাইল করা
        Pattern pattern = Pattern.compile(datePattern);
        
        // Matcher তৈরি
        Matcher matcher = pattern.matcher(text);
        
        // প্যাটার্ন মেলে কি না চেক করা
        while (matcher.find()) {
            System.out.println("Found date: " + matcher.group());
        }
    }
}

ব্যাখ্যা:

  1. datePattern: এটি একটি রেগুলার এক্সপ্রেশন যা "dd-MM-yyyy" ফরম্যাটের তারিখ খুঁজে বের করবে।
  2. matcher.find(): এটি টেক্সটের মধ্যে সঠিক ফরম্যাটের তারিখ খুঁজে বের করবে।

আউটপুট:

Found date: 23-12-2024
Found date: 24-12-2024

Java Pattern Matching প্রযুক্তি

Java-তে Pattern Matching একটি শক্তিশালী বৈশিষ্ট্য যা আপনাকে টেক্সটের মধ্যে বিভিন্ন ধরণের প্যাটার্ন খুঁজে বের করতে সহায়তা করে। এটি java.util.regex প্যাকেজের Pattern এবং Matcher ক্লাস ব্যবহার করে করা হয়। প্যাটার্নের মাধ্যমে আপনি নম্বর, তারিখ, শব্দ, ইমেইল ঠিকানা, ফোন নম্বর এবং আরও অনেক কিছু সহজেই খুঁজে বের করতে পারবেন।

  • Pattern: একটি রেগুলার এক্সপ্রেশন কম্পাইল করে, যা পরে মেচিং এর জন্য ব্যবহার করা হয়।
  • Matcher: একটি টেক্সট বা স্ট্রিং এর মধ্যে প্যাটার্ন মেলা পরীক্ষা করে এবং সেই মেলানো অংশগুলো বের করে।

এটি টেক্সট প্রক্রিয়াকরণ, ডেটা ভ্যালিডেশন, এবং অটোমেটেড টেস্টিং বা ডেটা ক্লিনিংয়ে অত্যন্ত কার্যকরী।

Content added By
Promotion

Are you sure to start over?

Loading...